home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / swagn_r.zip / NETWORK.SWG / 0020_Re: Get Server Date.pas < prev    next >
Pascal/Delphi Source File  |  1994-05-25  |  2KB  |  72 lines

  1. {
  2.  MP> Can someone show me what a PASCAL procedure would look like to
  3.  MP> encapsulate the following information (from Brown's int list):
  4.  MP> INT 21 - Novell NetWare - FILE SERVER - GET FILE SERVER DATE AND TIME
  5.  
  6. I tested this on our Novell 3.11 network:
  7. }
  8.  
  9. program ServDate;
  10.  
  11. uses Dos;
  12.  
  13. type
  14.   tDateAndTime = record
  15.     Year      : Byte;
  16.     Month     : Byte;
  17.     Day       : Byte;
  18.     Hours     : Byte;
  19.     Minutes   : Byte;
  20.     Seconds   : Byte;
  21.     DayOfWeek : Byte
  22.   end;
  23.  
  24.   String9 = string[ 9 ];
  25.  
  26. const
  27.   DayArray : array[ 0..6 ] of String9 =
  28.              ( 'Sunday', 'Monday', 'Tuesday', 'Wednesday',
  29.                'Thursday', 'Friday', 'Saturday' );
  30.  
  31.   MonthArray : array[ 1..12 ] of String9 =
  32.                ( 'January', 'February', 'March', 'April', 'May', 'June',
  33.                  'July', 'August', 'September', 'October', 'November',
  34.                  'December' );
  35.  
  36.  
  37. function GetFileServerDateAndTime( var DTBuf : tDateAndTime ) : Byte;
  38.  
  39. var NovRegs : Registers;
  40.  
  41. begin
  42.   with NovRegs do
  43.   begin
  44.     AH := $E7;
  45.     DS := Seg( DTBuf );
  46.     DX := Ofs( DTBuf );
  47.     MSDos( NovRegs );
  48.     GetFileServerDateAndTime := AL
  49.   end
  50. end;
  51.  
  52. var
  53.   DateAndTime : tDateAndTime;
  54.   ResultCode  : Byte;
  55.  
  56. begin
  57.   ResultCode := GetFileServerDateAndTime( DateAndTime );
  58.   if ResultCode = 0 then
  59.     with DateAndTime do
  60.     begin
  61.       Write( 'File server date/time = ', DayArray[ DayOfWeek ], ', ',
  62.              MonthArray[ Month ], ' ', Day );
  63.       if ( Year < 80 ) then
  64.         Write( ', 20', Year )
  65.       else
  66.         Write( ', 19', Year );
  67.       WriteLn( ' at ', Hours, ':', Minutes, ':', Seconds )
  68.     end
  69.   else
  70.     WriteLn( 'Date/time call unsuccessful' )
  71. end.
  72.